
package net.ieslaferreria.infoCiutat;

import java.util.Vector;

public interface ArestaManager {

    /**
     * Retorna un vector amb els noms de totes les arestes.
     * 
     * @return Vector
     */
     public Vector getLlistaArestes();
    
     /**
      * Retorna un vector amb els codis que corresponen a les arestes en
      * que coincideix el seu nom amb la cadena del parametre.
      * 
      * @param cadena
      * @return Vector
      */
    public Vector cerca(String cadena);
    
    /**
     * Retorna una aresta a partir del seu codi.
     * 
     * @param codi
     * @return Aresta
     */
    public Aresta getAresta(int codi);
    
    /**
     * Retorna un vector de codis d'arestes que tenen com a nom el que li
     * passem per parametre.
     * 
     * @param nomCarrer
     * @return Vector
     */
    public Vector getLlistaArestes(String nomCarrer);
    
    /**
     * Retorna l'aresta que te el nom passat per parametre i que els atributs
     * numInici i numFinal compleix la següent condicio:
     * numInici <= numero <= numFinal || numInici >= numero >= numFinal
     * 
     * @param nomCarrer
     * @param numero
     * @return Aresta
     */
    public Aresta getLlistaArestes(String nomCarrer, int numero);
    
    /**
     * Retorna el numero de porta més petit que hi ha a tot el carrer del qual
     * li passem el nom per parametre.
     * 
     * @param nomCarrer
     * @return int
     */
    public int getNumMinCarrer(String nomCarrer);
    
    /**
     * Retorna el numero de porta més gran que hi ha a tot el carrer del qual
     * li passem el nom per parametre.
     * 
     * @param nomCarrer
     * @return int
     */
    public int getNumMaxCarrer(String nomCarrer);
            
}
